Large-scale image retrieval is a fundamental task in computer vision, since it is directly related to various practical applications, e.g., object detection, visual place recognition and product recognition. Conventional techniques often achieve limited recall when required to deliver retrieval results with high precision.
In particular, some conventional image retrieval systems rely on hand-crafted algorithms for determining image features and indexing algorithms. Such hand-crafted algorithms typically require an algorithm programmer to exhaustively derive heuristic models of how different descriptors should be generated for different images in different scenarios and/or for different applications. This process requires a substantial amount of research time, and is not always scalable to larger or different image datasets. In addition, hand-crafted algorithms often cannot leverage advances in image processing technology without developing entirely new sets of hand-crafted algorithms.